let get_kf_stmt_opt localizable =
  match localizable with
    | Pretty_source.PTermLval(Some kf, Kstmt stmt, _)
    | Pretty_source.PLval (Some kf, Kstmt stmt, _)
    | Pretty_source.PStmt (kf,stmt)
    | Pretty_source.PCodeAnnot (kf, stmt, _)
    | Pretty_source.PAssigns (kf, Kstmt stmt, _, _)
    | Pretty_source.PPredicate (Some kf, Kstmt stmt, _)
    | Pretty_source.PPost_cond (kf,Kstmt stmt,_,_)
    | Pretty_source.PAssumes (kf,Kstmt stmt,_,_)
    | Pretty_source.PDisjoint_behaviors (kf,Kstmt stmt,_)
    | Pretty_source.PComplete_behaviors (kf,Kstmt stmt,_)
    | Pretty_source.PTerminates (kf,Kstmt stmt,_)
    | Pretty_source.PVariant (kf,Kstmt stmt,_)
    | Pretty_source.PRequires (kf,Kstmt stmt,_,_)
      -> Some (kf, stmt)
    | Pretty_source.PTermLval (_, _, _)
    | Pretty_source.PLval (_, _, _)
    | Pretty_source.PGlobal _
    | Pretty_source.PVDecl _
    | Pretty_source.PBehavior _
    | Pretty_source.PPredicate (_, _, _)
    | Pretty_source.PAssigns _
    | Pretty_source.PPost_cond _| Pretty_source.PAssumes _
    | Pretty_source.PDisjoint_behaviors _| Pretty_source.PComplete_behaviors _
    | Pretty_source.PTerminates _| Pretty_source.PVariant _
    | Pretty_source.PRequires _
      -> None