It seems like overlapping matchers end up raising an error. It would be helpful if matchers could simply take precedence over each other, e.g. according to the order in which they are specified.
This could allow specifying default (non-null) behavior for a function as well as a different result for specific inputs.
This would make it easy to effectively implement #41 on my own.