<commit_before>﻿// Copyright (C) by <NAME>

namespace Infers.Toys

module MayBeMutable =
  open Infers
  open Infers.Rep

  //////////////////////////////////////////////////////////////////////////////

  type MBM<'t> = {MBM: bool}
  type MBMP<'e, 'r, 'o, 't> = {MBMP: bool}
  type MBMS<'p, 'o, 't> = {MBMS: bool}

  let imm = {MBM = false}
  let mut = {MBM = true}
  let immp = {MBMP = false}
  let mutp = {MBMP = true}
  let imms = {MBMS = false}
  let muts = {MBMS = true}

  type [<Rep>] MayBeMutable () =
    inherit Rules ()

    static member Rec () =
      {new Rec<MBM<'t>> () with
        member t.Get () = imm
        member t.Set (_) = ()}

    static member Prim (_: Prim<'t>) : MBM<'t> = imm

    static member String : MBM<string> = imm<commit_msg>Support unit.<commit_after>﻿// Copyright (C) by <NAME>

namespace Infers.Toys

module MayBeMutable =
  open Infers
  open Infers.Rep

  //////////////////////////////////////////////////////////////////////////////

  type MBM<'t> = {MBM: bool}
  type MBMP<'e, 'r, 'o, 't> = {MBMP: bool}
  type MBMS<'p, 'o, 't> = {MBMS: bool}

  let imm = {MBM = false}
  let mut = {MBM = true}
  let immp = {MBMP = false}
  let mutp = {MBMP = true}
  let imms = {MBMS = false}
  let muts = {MBMS = true}

  type [<Rep>] MayBeMutable () =
    inherit Rules ()

    static member Rec () =
      {new Rec<MBM<'t>> () with
        member t.Get () = imm
        member t.Set (_) = ()}

    static member Prim (_: Prim<'t>) : MBM<'t> = imm

    static member Unit : MBM<unit> = imm

    static member String : MBM<string> = imm
{'fraction_non_alphanumeric': 0.24777070063694268, 'fraction_numerical': 0.0, 'mean_word_length': 1.8306306306306306, 'pattern_counts': {'":': 0, '<': 24, '<?xml version=': 0, '>': 24, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2246900', 'n_tokens_mistral': 570, 'n_tokens_neox': 558, 'n_words': 167}