_return_type to be one of the
following numpy types, Opus will automatically cast the results into that
type. If the arguments passed into the compute() method
contains an entry check_variables, then it will also issue a warning if
the values being cast are too large to fit into the destination type. The
allowable values for _return_type are:
In addition, each Opus variable may have the optional pre_check() and post_check() methods to implement the ``programming by contract'' model of software development (see Section 10.3).