Added ability for users to specify allowed effects / return types for handlers