initialBlock :: Block
initialBlock = do
  let block = Block 0 "0" 0 "initial data" 0 ""
  setNonceAndHash block

-- a new block is valid if its index is 1 higher, its
-- previous hash points to our last block, and its hash is computed
-- correctly
initialBlock :: Block
initialBlock = do
  let block = Block 0 "0" 0 "initial data" 0 ""
  setNonceAndHash block

-- a new block is valid if its index is 1 higher, its
-- previous hash points to our last block, and its hash is computed
-- correctly
initialBlock = do
  let block = Block 0 "0" 0 "initial data" 0 ""
  setNonceAndHash block

-- a new block is valid if its index is 1 higher, its
-- previous hash points to our last block, and its hash is computed
-- correctly