more flexible dispatching approach
Merge branch 'feature/enable_if-member-methods-2'