frame_type() :: :text | :binary
decode(binary) :: {:ok, any} | {:error, :invalid_message}
encode(any) :: {:ok, binary} | {:error, :invalid_message}
frame_type() :: frame_type