rightMultiplyByDoubling

inline fun <C> rightMultiplyByDoubling(arg: C, multiplier: Int, lazyZero: () -> C, additionOp: (C, C) -> C, negationOp: (C) -> C): C
inline fun <C> rightMultiplyByDoubling(arg: C, multiplier: UInt, lazyZero: () -> C, additionOp: (C, C) -> C): C
inline fun <C> rightMultiplyByDoubling(arg: C, multiplier: Long, lazyZero: () -> C, additionOp: (C, C) -> C, negationOp: (C) -> C): C
inline fun <C> rightMultiplyByDoubling(arg: C, multiplier: ULong, lazyZero: () -> C, additionOp: (C, C) -> C): C