foldlHM
  :: (HBlock -> HInt -> Hardware ()) -- update function.
  -> HBlock -- initial block.
  -> HInt -- lower range.
  -> HInt -- upper range.
  -> Hardware HBlock
foldlHM f b l u =
  do for l u (\ix -> f b ix)
     return b

--------------------------------------------------------------------------------
foldlHM
  :: (HBlock -> HInt -> Hardware ()) -- update function.
  -> HBlock -- initial block.
  -> HInt -- lower range.
  -> HInt -- upper range.
  -> Hardware HBlock
foldlHM f b l u =
  do for l u (\ix -> f b ix)
     return b

--------------------------------------------------------------------------------
foldlHM f b l u =
  do for l u (\ix -> f b ix)
     return b

--------------------------------------------------------------------------------