adds type parameter B to Writeable.write