
  -spec binary_part(Subject, PosLen) -> binary()
                       when
                           Subject :: binary(),
                           PosLen ::
                               {Start :: non_neg_integer(),
                                Length :: integer()}.

Since:
  OTP R14B

  Extracts the part of the binary described by PosLen.

  Negative length can be used to extract bytes at the end of a
  binary, for example:

    1> Bin = <<1,2,3,4,5,6,7,8,9,10>>.
    2> binary_part(Bin,{byte_size(Bin), -5}).
    <<6,7,8,9,10>>

  Failure: badarg if PosLen in any way references outside the
  binary.

  Start is zero-based, that is:

    1> Bin = <<1,2,3>>
    2> binary_part(Bin,{0,2}).
    <<1,2>>

  For details about the PosLen semantics, see binary(3).

  Allowed in guard tests.
