module T::Utils::Props

def self.merge_serialized_optional_rule(prop_rules)

def self.merge_serialized_optional_rule(prop_rules)
  {'_tnilable' => true}.merge(prop_rules.merge('_tnilable' => true))
end

def self.optional_prop?(prop_rules)

def self.optional_prop?(prop_rules)
  # Clients should never reference :_tnilable as the implementation can change.
  !!prop_rules[:_tnilable]
end

def self.required_prop?(prop_rules)

def self.required_prop?(prop_rules)
  # Clients should never reference :_tnilable as the implementation can change.
  !prop_rules[:_tnilable]
end