Type hints and multimethods added