Is it convenient to make this always take a Buffer? Variable-type arguments look like bug-magnets to me.