ncodeSignature :: EllipticCurveEdDSA curve
                => proxy curve
                -> (Bytes, Point curve, Scalar curve)
                -> Signature curve hash
encodeSignature prx (bsR, _, sS) = Signature $ buildAndFreeze $
    bytes bsR <> bytes bsS <> zero len0
  where
    bsS  = encodeScalarLE prx sS :: Bytes
    len0 = signatureSize prx - B.length bsR - B.length bsS

encodeSignature :: EllipticCurveEdDSA curve
                => proxy curve
                -> (Bytes, Point curve, Scalar curve)
                -> Signature curve hash
encodeSignature prx (bsR, _, sS) = Signature $ buildAndFreeze $
    bytes bsR <> bytes bsS <> zero len0
  where
    bsS  = encodeScalarLE prx sS :: Bytes
    len0 = signatureSize prx - B.length bsR - B.length bsS
encodeSignature prx (bsR, _, sS) = Signature $ buildAndFreeze $
    bytes bsR <> bytes bsS <> zero len0
  where
    bsS  = encodeScalarLE prx sS :: Bytes
    len0 = signatureSize prx - B.length bsR - B.length bsS