pub fn point_mul<T: UnsignedIntegerCopy, I: UnsignedIntegerCopy>(
    k: I,
    p: Affine<T>
) -> Affine<T>