EDIT: Minor changes due the new multimethods.