code: def add(name, options = {}, &coercer)
        name  = name.to_sym
        value = Attribute.new(name, options, &coercer)
        clone_with do
          @attributes  = attributes.merge(name => value)
          @transformer = nil
        end
      end
docs: Initializes the attribute from given arguments
   and returns new immutable collection with the attribute
  
   @param (see Attribute#initialize)
  
   @return [AttributesDSL::Attributes]