Maybe require all signals to be given an initial value? Then we don't need the shape or dtype parameters.