Why hardware development is hard, part 1: Verilog is weird