Declarative way of binding argument validation to function execution (pattern matching for Python)