Updated CircularConvolution to use Product, better kwarg error handling