Use real function signatures to override magic methods. Relates to #49.