That's what the factory argument is for.
On Oct 26, 2013 2:55 PM, "Steven Silvester" <notifications@github.com>
wrote:

> In atom/coerced.py:
>
> > @@ -53,6 +53,6 @@ def __init__(self, kind, args=None, kwargs=None, factory=None, coercer=None):
> >          else:
> >              args = args or ()
> >              kwargs = kwargs or {}
> > -            factory = lambda: kind(*args, **kwargs)
> > +            factory = lambda: (coercer or kind)(*args, **kwargs)
>
> The reason for the change is that the type may not provide the proper
> instantiation. In the case of numpy.ndarray, it is not meant to be used as
> a constructor.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/nucleic/atom/pull/17/files#r7234630>
> .
>