diff --git a/lib/erl/include/thrift_constants.hrl b/lib/erl/include/thrift_constants.hrl
index 7cb29eb..4096854 100644
--- a/lib/erl/include/thrift_constants.hrl
+++ b/lib/erl/include/thrift_constants.hrl
@@ -41,10 +41,16 @@
 
 % TApplicationException
 -define(TApplicationException_Structure,
-        {struct, [{1, string},
-                  {2, i32}]}).
+    {struct, [
+        {1, string},
+        {2, i32}
+    ]}
+).
 
--record('TApplicationException', {message, type}).
+-record('TApplicationException', {
+    message :: string(),
+    type :: integer()
+}).
 
 -define(TApplicationException_UNKNOWN, 0).
 -define(TApplicationException_UNKNOWN_METHOD, 1).
@@ -58,5 +64,5 @@
 -define(TApplicationException_INVALID_PROTOCOL, 9).
 -define(TApplicationException_UNSUPPORTED_CLIENT_TYPE, 10).
 
--define (MULTIPLEXED_SERVICE_SEPARATOR, ":").
--define (MULTIPLEXED_ERROR_HANDLER_KEY, "error_handler").
+-define(MULTIPLEXED_SERVICE_SEPARATOR, ":").
+-define(MULTIPLEXED_ERROR_HANDLER_KEY, "error_handler").
diff --git a/lib/erl/include/thrift_protocol.hrl b/lib/erl/include/thrift_protocol.hrl
index bc0acc8..f477423 100644
--- a/lib/erl/include/thrift_protocol.hrl
+++ b/lib/erl/include/thrift_protocol.hrl
@@ -21,46 +21,47 @@
 -define(THRIFT_PROTOCOL_INCLUDED, true).
 
 -record(protocol_message_begin, {name :: string(), type :: integer(), seqid :: integer()}).
--record(protocol_struct_begin, {name :: string()}).
--record(protocol_field_begin, {name :: string(), type :: integer(), id :: integer()}).
+-record(protocol_struct_begin, {name :: undefined | string()}).
+-record(protocol_field_begin, {
+    name :: undefined | string(), type :: integer(), id :: undefined | integer()
+}).
 -record(protocol_map_begin, {ktype :: integer(), vtype :: integer(), size :: integer()}).
 -record(protocol_list_begin, {etype :: integer(), size :: integer()}).
 -record(protocol_set_begin, {etype :: integer(), size :: integer()}).
 
--type tprot_header_val() :: #protocol_message_begin{}
-                          | #protocol_struct_begin{}
-                          | #protocol_field_begin{}
-                          | #protocol_map_begin{}
-                          | #protocol_list_begin{}
-                          | #protocol_set_begin{}
-                          .
--type tprot_empty_tag() :: message_end
-                         | struct_begin
-                         | struct_end
-                         | field_end
-                         | map_end
-                         | list_end
-                         | set_end
-                         .
--type tprot_header_tag() :: message_begin
-                          | field_begin
-                          | map_begin
-                          | list_begin
-                          | set_begin
-                          .
--type tprot_data_tag() :: ui32
-                        | bool
-                        | byte
-                        | i16
-                        | i32
-                        | i64
-                        | double
-                        | string
-                        .
--type tprot_cont_tag() :: {list, _Type}
-                        | {map, _KType, _VType}
-                        | {set, _Type}
-                        .
-
+-type tprot_header_val() ::
+    #protocol_message_begin{}
+    | #protocol_struct_begin{}
+    | #protocol_field_begin{}
+    | #protocol_map_begin{}
+    | #protocol_list_begin{}
+    | #protocol_set_begin{}.
+-type tprot_empty_tag() ::
+    message_end
+    | struct_begin
+    | struct_end
+    | field_end
+    | map_end
+    | list_end
+    | set_end.
+-type tprot_header_tag() ::
+    message_begin
+    | field_begin
+    | map_begin
+    | list_begin
+    | set_begin.
+-type tprot_data_tag() ::
+    ui32
+    | bool
+    | byte
+    | i16
+    | i32
+    | i64
+    | double
+    | string.
+-type tprot_cont_tag() ::
+    {list, _Type}
+    | {map, _KType, _VType}
+    | {set, _Type}.
 
 -endif.
diff --git a/lib/erl/include/thrift_protocol_behaviour.hrl b/lib/erl/include/thrift_protocol_behaviour.hrl
deleted file mode 100644
index abe300b..0000000
--- a/lib/erl/include/thrift_protocol_behaviour.hrl
+++ /dev/null
@@ -1,37 +0,0 @@
-%%
-%% Licensed to the Apache Software Foundation (ASF) under one
-%% or more contributor license agreements. See the NOTICE file
-%% distributed with this work for additional information
-%% regarding copyright ownership. The ASF licenses this file
-%% to you under the Apache License, Version 2.0 (the
-%% "License"); you may not use this file except in compliance
-%% with the License. You may obtain a copy of the License at
-%%
-%%   http://www.apache.org/licenses/LICENSE-2.0
-%%
-%% Unless required by applicable law or agreed to in writing,
-%% software distributed under the License is distributed on an
-%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-%% KIND, either express or implied. See the License for the
-%% specific language governing permissions and limitations
-%% under the License.
-%%
-
-%% Signature specifications for protocol implementations.
-
--ifndef(THRIFT_PROTOCOL_BEHAVIOUR_INCLUDED).
--define(THRIFT_PROTOCOL_BEHAVIOUR_INCLUDED, true).
-
--spec flush_transport(state()) -> {state(), ok | {error, _Reason}}.
--spec close_transport(state()) -> {state(), ok | {error, _Reason}}.
-
--spec write(state(), any()) -> {state(), ok | {error, _Reason}}.
-
-%% NOTE: Keep this in sync with thrift_protocol:read and read_specific.
--spec read
-        (state(), tprot_empty_tag()) ->  {state(),  ok                | {error, _Reason}};
-        (state(), tprot_header_tag()) -> {state(), tprot_header_val() | {error, _Reason}};
-        (state(), tprot_data_tag()) ->   {state(), {ok, any()}        | {error, _Reason}}.
-
-
--endif.
diff --git a/lib/erl/include/thrift_transport_behaviour.hrl b/lib/erl/include/thrift_transport_behaviour.hrl
deleted file mode 100644
index dbc05aa..0000000
--- a/lib/erl/include/thrift_transport_behaviour.hrl
+++ /dev/null
@@ -1,31 +0,0 @@
-%%
-%% Licensed to the Apache Software Foundation (ASF) under one
-%% or more contributor license agreements. See the NOTICE file
-%% distributed with this work for additional information
-%% regarding copyright ownership. The ASF licenses this file
-%% to you under the Apache License, Version 2.0 (the
-%% "License"); you may not use this file except in compliance
-%% with the License. You may obtain a copy of the License at
-%%
-%%   http://www.apache.org/licenses/LICENSE-2.0
-%%
-%% Unless required by applicable law or agreed to in writing,
-%% software distributed under the License is distributed on an
-%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-%% KIND, either express or implied. See the License for the
-%% specific language governing permissions and limitations
-%% under the License.
-%%
-
-%% Signature specifications for transport implementations.
-
--ifndef(THRIFT_TRANSPORT_BEHAVIOUR_INCLUDED).
--define(THRIFT_TRANSPORT_BEHAVIOUR_INCLUDED, true).
-
--spec write(state(), iolist() | binary()) -> {state(), ok | {error, _Reason}}.
--spec read(state(), non_neg_integer()) -> {state(), {ok, binary()} | {error, _Reason}}.
--spec flush(state()) -> {state(), ok | {error, _Reason}}.
--spec close(state()) -> {state(), ok | {error, _Reason}}.
-
-
--endif.
