provide a good option for users who want callable types with all FunctionType attributes (original) (raw)

See #491 (comment) for more detailed discussion.

In particular, other type-checkers will assume all Callable types have FunctionType.__get__, while simultaneously assuming that they don't necessarily always behave as a bound-method descriptor. This is of course inconsistent, but we may need to do the same for compatibility.

Similar for existence of other FunctionType attributes, such as __name__.