predicate() :: (term() -> boolean())
const_value?(term()) :: boolean()
field_case(atom() | binary()) :: binary()
fragment_name?(term()) :: boolean()
name?(term()) :: boolean()
operation?(term()) :: boolean()
string_literal(binary()) :: iolist()
type_case(atom() | binary()) :: binary()
validate(test :: predicate(), subject :: term(), error_tag :: term()) :: term()
value?(term()) :: boolean()