NAME
GraphQL::MaybeTypeCheck - Conditional type-checking at runtime
SYNOPSIS
use GraphQL::MaybeTypeCheck;
method foo(
  $arg1 Str,
  $arg2 Int
) :ReturnType(Map[Str, Int]) {
  # ...
}
DESCRIPTION
This module optionally enables type-checking in the caller as implemented by Function::Parameters and Return::Type depending on whether Devel::StrictMode is activated.
Devel::StrictMode ON
When Devel::StrictMode is active, this module will import Function::Parameters into the caller with its default configuration. As of writing, this includes checking both argument count and type.
When in strict mode this also requires Return::Type which registers the ReturnType attribute.
Devel::StrictMode OFF
When strict mode is inactive this module still imports Function::Parameters into the caller however it sets fun and method to lax mode and disables argument type checking.
This also installs a no-op ReturnType attribute so the existing syntax isn't broken.