def _point_to_bytes(point, compressed=True):
    """ Point serialisation.
    
    Serialization is the standard one:
    
    - O2 x    for even x in compressed form
    - 03 x    for odd x in compressed form
    - 04 x y  for uncompressed form
    
    
    """
    if compressed:
        b = point.x.to_bytes(32, 'big')
        if point.y & 1:
            b = b'\x03' + b
        else:
            b = b'\x02' + b
    else:
        b = b'\x04' + point.x.to_bytes(32, 'big') + point.y.to_bytes(32, 'big')
    return b
