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