Functional polymorphic method dispatch