code: def check_that_end_is_end(graph):
      msg0 = (
          "The *end* step should not have a step.next() transition. "
          "Just remove it."
      )
      msg1 = (
          "The *end* step should not be a join step (it gets an extra "
          "argument). Add a join step before it."
      )
  
      node = graph["end"]
  
      if node.has_tail_next or node.invalid_tail_next:
          raise LintWarn(msg0, node.tail_next_lineno)
      if node.num_args > 1:
          raise LintWarn(msg1, node.tail_next_lineno)
  
imports: import re
  from .exception import MetaflowException
  from .util import all_equal
label_desc: Use image node_id 3 for calling a global function with example usage: check_that_end_is_end(graph) without return types