1MyList input.ex /^defmodule MyList do$/;" module 2reverse input.ex /^ defdelegate reverse(list), to: Enum$/;" delegate module:MyList 3other_reverse input.ex /^ defdelegate other_reverse(list), to: Enum, as: :reverse$/;" delegate module:MyList 4Size input.ex /^defprotocol Size do$/;" protocol 5size input.ex /^ def size(data)$/;" function protocol:Size access:public 6MyGuards input.ex /^defmodule Integer.MyGuards do$/;" module 7is_even input.ex /^ defguard is_even(value) when is_integer(value) and rem(value, 2) == 0$/;" guard module:MyGuards access:public 8is_odd input.ex /^ defguardp is_odd(value) when is_integer(value) and rem(value, 2) != 0$/;" guard module:MyGuards access:private 9Size input.ex /^defimpl Size, for: BitString do$/;" implementation module:MyGuards 10size input.ex /^ def size(binary), do: byte_size(binary)$/;" function module:MyGuards access:public 11