- No type, just required
- Has a type -> Types
- Required
- Optional
- No default
- Has a non-sub defualt
- Has a subroutine default
- Any type
- A specific type -> Types
- Named
- Named to list
- Positional
- Moose
- Specio
- Type::Tiny
- Type can be inlined
- Type inlining requires "env" vars
- Coercion inlining requires "env" vars
- Type cannot be inlined
- No coercion
- With coercion(s)
- that can all be inlined
- none of which can be inlined
- some of which can be inlined