def check_type(self, value):
        """Hook for type-checking, invoked during assignment. Allows size 1
        numpy arrays and lists, but raises TypeError if value can not
        be cast to a scalar.

        """
        try:
            scalar = asscalar(value)
        except ValueError as e:
            raise TypeError(e)

        super(Parameter, self).check_type(scalar)