erlang The Erlang BIFs and predefined types. By convention, most Built-In Functions (BIFs) and all predefined types are included in this module. Some of the BIFs and all of the predefined types are viewed more or less as part of the Erlang programming language and are auto-imported. Thus, it is not necessary to specify the module name. For example, the calls  atom_to_list(erlang) and erlang:atom_to_list(erlang) are identical. Auto-imported BIFs are annotated with auto-imported and predefined types are annotated with predefined. Some auto-imported BIFs are also allowed in guard expression. Such BIFs are annoted with both auto-imported and guard-bif. BIFs can fail for various reasons. All BIFs fail with reason  badarg if they are called with arguments of an incorrect type. The other reasons are described in the description of each individual BIF.